为什么需要 view_image
很多 OpenClaw 任务会产出或接触到图片:截图、生成的封面、下载的报表、别人发来的二维码、报错截图。以往要「看」一张图,得先把图传到某个多模态 API 再取回结果,链路长、还可能把图泄露到第三方。
view_image 是 OpenClaw 内置的图片加载工具:它把图片直接读进当前模型上下文,模型当场就能「看」并回答。它不依赖额外上传步骤,本地路径和受信任 URL 都能用,最多一次 20 张。一句话:让 AI 用眼睛替你把图看明白,而不是让你自己描述图里有什么。
注意:view_image 是「加载到模型上下文」用于推理,不会把它当成要发给用户的附件。要给用户发图,用的是 message 工具的 attachments。
工具长什么样
核心参数就这几个:
| 参数 | 含义 | 默认值/约束 |
|------|------|------|
| path | 单个本地图片路径或受信任 URL | 与 paths 二选一 |
| paths | 多图列表,最多 20 张 | 与 path 二选一 |
| prompt | 针对图片要回答的问题 | 可选;不给也会进上下文 |
| maxImages | 限制加载数量 | 默认 20 |
用法分两种:单图用 path,批量用 paths。maxBytesMb 可限制单图大小(避免超大图撑爆上下文)。
真实可用的调用
1) 看一张本地截图
假设你截了某个后台报错页面,想知道问题出在哪:
{
"path": "/root/.openclaw/workspace/tmp/error-shot.png",
"prompt": "这是一段报错截图,请识别错误信息并给出最可能的解决方向"
}
模型会读取这张图,识别图中的文字与布局,直接告诉你错在哪、怎么修——不用你手抄报错文本。
2) 批量看一组生成稿
你用 image_generate 一次出了 4 张封面,想快速挑一张:
{
"paths": [
"/root/.openclaw/workspace/out/cover-1.png",
"/root/.openclaw/workspace/out/cover-2.png",
"/root/.openclaw/workspace/out/cover-3.png",
"/root/.openclaw/workspace/out/cover-4.png"
],
"prompt": "这四张封面分别适合什么主题?哪张信息层级最清晰?"
}
3) 看一个 URL 图片(受信任源)
{
"path": "https://zyker.cn/images/wechat-qr.png",
"prompt": "这是公众号二维码吗?请确认它是二维码而非普通图片"
}
一个实用组合技:二维码解码
view_image 配合 prompt 能直接「读」二维码内容(当模型本身具备视觉能力时)。这在两个场景很有用:
- 你收到一张二维码截图,想确认它指向哪里再决定是否扫码——先看图、再决定,避免乱扫。
- 发布流程自检:文章末尾会带公众号二维码,发布后你想确认线上那张图确实是二维码而不是加载失败的占位图。
{
"path": "/var/www/zyker.cn-static/images/wechat-qr.png",
"prompt": "请判断这张图是否为有效的二维码,并尽可能解码其内容类型(如公众号/网址),不要编造具体跳转地址"
}
安全提醒:view_image 只是「看」,不会执行二维码里的任何动作。看到是网址也别直接打开,先确认来源可信。
和其他工具的边界
容易混淆的几个点:
- view_image vs image_generate:前者是「读图」,后者是「生图」。一个输入图片、一个输出图片,方向相反。
- view_image vs message attachments:前者把图喂给模型看;后者把图作为消息附件发给用户。想让用户看到图,用 message;想让 AI 分析图,用 view_image。
- view_image vs browser screenshot:browser 工具截图是「操控网页时顺手截」,view_image 是「拿已有的图来分析」,不依赖浏览器。
踩坑提示
- 路径要真实存在:本地路径必须是绝对路径且文件可读,
path指向不存在的文件会直接失败,不会静默跳过。
- URL 需受信任:不是任意外链都能拉,脚本/工具会按允许范围处理;内网或本机静态资源的 URL 最稳。
- 上下文成本:图片进上下文会占用 token,超大或过多图会拉长推理。用
maxBytesMb和maxImages控量。
- 它不替代 OCR 工具:如果要做精确的文本批量提取或二维码程序化解码(而非「让模型看一眼」),专门的 OCR / 二维码解析脚本更可靠,本工作区的
qr-image-extraction技能就是干这个的。
小结
view_image 把「看图」这件事拉回到了 AI 的本职工作里——本地图、URL 图、批量图,直接进上下文就能问答。最适合的场景是:报错截图分析、生成稿挑选、二维码/图片内容确认。记住它的边界:它是给模型看的,不是给用户发的;是读图,不是生图。
扫码关注公众号,获取更多 OpenClaw 实操技巧:
